home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / mail / sendmail / UCB / sendmail.8.6.1.patch.Z / sendmail.8.6.1.patch
Encoding:
Text File  |  1993-10-14  |  10.8 KB  |  421 lines

  1. Apply this patch to update an 8.6 sendmail to 8.6.1.
  2.  
  3. *** KNOWNBUGS.OLD    Fri Oct  8 16:17:06 1993
  4. --- KNOWNBUGS    Fri Oct  8 16:16:43 1993
  5. ***************
  6. *** 3,11 ****
  7.            K N O W N   B U G S   I N   S E N D M A I L
  8.                    (for 8.6)
  9.   
  10. -                8.5 (10/5/93)
  11.   
  12.   The following are bugs or deficiencies in sendmail that I am aware of
  13.   but which have not been fixed in the current release.  You probably
  14.   want to get the most up to date version of this from FTP.CS.Berkeley.EDU
  15. --- 3,9 ----
  16. ***************
  17. *** 38,40 ****
  18. --- 36,53 ----
  19.   
  20.     Sometimes identical, duplicate error messages can be generated.  As
  21.     near as I can tell, this is rare and relatively innocuous.
  22. + * If you EXPN a list or user that has a program mailer, the output of
  23. +   EXPN will include ``@local.host.name''.  You can't actually mail to
  24. +   this address.  It's not clear what the right behaviour is in this
  25. +   circumstance.
  26. + * You can't use a ``mailer:relay.host'' for UUCP_RELAY or the relay
  27. +   host in the SITECONFIG macro (the second argument) in the
  28. +   configurations.  If the goal is to use ESMTP instead of SMTP,
  29. +   define `confRELAY_MAILER' to `esmtp' and use no mailer name.  Note
  30. +   that the default mailer used for relays (`relay') does use ESMTP
  31. +   by default (it didn't in prior releases).  This problem does not
  32. +   occur for other relays (BITNET or CSNET) or mailertable entries.
  33. + (Version 8.7, last updated 10/8/93)
  34. *** RELEASE_NOTES.OLD    Fri Oct  8 15:57:52 1993
  35. --- RELEASE_NOTES    Fri Oct  8 15:57:29 1993
  36. ***************
  37. *** 1,3 ****
  38. --- 1,9 ----
  39. + 8.6.1/8.6    93/10/08
  40. +     Portability fixes for A/UX and Encore UMAX V.
  41. +     Fix error message handling -- if you had a name server down
  42. +         causing an error during parsing, that message was never
  43. +         propogated to the queue file.
  44.   8.6/8.6        93/10/05
  45.       Configuration cleanup: make it easier to undo IDENTPROTO in
  46.           conf.h (other systems have the same bug).
  47. *** src/READ_ME.OLD    Fri Oct  8 15:59:58 1993
  48. --- src/READ_ME    Fri Oct  8 16:01:23 1993
  49. ***************
  50. *** 30,36 ****
  51.   # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52.   # SUCH DAMAGE.
  53.   #
  54. ! #    @(#)READ_ME    8.27 (Berkeley) 10/5/93
  55.   #
  56.   
  57.   This directory contains the source files for sendmail.
  58. --- 30,36 ----
  59.   # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  60.   # SUCH DAMAGE.
  61.   #
  62. ! #    @(#)READ_ME    8.28 (Berkeley) 10/8/93
  63.   #
  64.   
  65.   This directory contains the source files for sendmail.
  66. ***************
  67. *** 134,139 ****
  68. --- 134,140 ----
  69.           If this is not set, use POSIX/BSD semantics, where the
  70.           signal handler stays in force until an exec or an
  71.           explicit delete.  Implied by SYSTEM5.
  72. + SYS5SETPGRP    Use System V setpgrp() semantics.  Implied by SYSTEM5.
  73.   HASFLOCK    Set this if you prefer to use the flock(2) system call
  74.           rather than using fcntl-based locking.  Fcntl locking
  75.           has some semantic gotchas, but many vendor systems
  76. ***************
  77. *** 433,436 ****
  78.   
  79.   Eric Allman
  80.   
  81. ! (Version 8.27, last update 10/5/93 13:15:38)
  82. --- 434,437 ----
  83.   
  84.   Eric Allman
  85.   
  86. ! (Version 8.28, last update 10/8/93 16:01:04)
  87. *** src/conf.c.OLD    Fri Oct  8 15:56:27 1993
  88. --- src/conf.c    Fri Oct  8 15:55:04 1993
  89. ***************
  90. *** 33,39 ****
  91.    */
  92.   
  93.   #ifndef lint
  94. ! static char sccsid[] = "@(#)conf.c    8.39 (Berkeley) 9/30/93";
  95.   #endif /* not lint */
  96.   
  97.   # include "sendmail.h"
  98. --- 33,39 ----
  99.    */
  100.   
  101.   #ifndef lint
  102. ! static char sccsid[] = "@(#)conf.c    8.40 (Berkeley) 10/8/93";
  103.   #endif /* not lint */
  104.   
  105.   # include "sendmail.h"
  106. ***************
  107. *** 587,592 ****
  108. --- 587,609 ----
  109.   {
  110.   }
  111.    /*
  112. + **  INIT_MD -- do machine dependent initializations
  113. + **
  114. + **    Systems that have global modes that should be set should do
  115. + **    them here rather than in main.
  116. + */
  117. + #ifdef _AUX_SOURCE
  118. + # include    <compat.h>
  119. + #endif
  120. + init_md()
  121. + {
  122. + #ifdef _AUX_SOURCE
  123. +     setcompat(getcompat() | COMPAT_BSDPROT);
  124. + #endif
  125. + }
  126. +  /*
  127.   **  GETLA -- get the current load average
  128.   **
  129.   **    This code stolen from la.c.
  130. ***************
  131. *** 1165,1171 ****
  132.           (void) close(fd);
  133.       }
  134.   #endif /* TIOCNOTTY */
  135. ! # ifdef SYSTEM5
  136.       return setpgrp();
  137.   # else
  138.       return setpgid(0, getpid());
  139. --- 1182,1188 ----
  140.           (void) close(fd);
  141.       }
  142.   #endif /* TIOCNOTTY */
  143. ! # ifdef SYS5SETPGRP
  144.       return setpgrp();
  145.   # else
  146.       return setpgid(0, getpid());
  147. ***************
  148. *** 1324,1330 ****
  149.   #endif
  150.   
  151.   #ifdef HASSTATFS
  152. ! # if defined(IRIX) || defined(apollo) || defined(_SCO_unix_)
  153.   #  include <sys/statfs.h>
  154.   # else
  155.   #  if (defined(sun) && !defined(BSD)) || defined(__hpux) || defined(_CONVEX_SOURCE) || defined(NeXT) || defined(_AUX_SOURCE)
  156. --- 1341,1347 ----
  157.   #endif
  158.   
  159.   #ifdef HASSTATFS
  160. ! # if defined(IRIX) || defined(apollo) || defined(_SCO_unix_) || defined(UMAXV)
  161.   #  include <sys/statfs.h>
  162.   # else
  163.   #  if (defined(sun) && !defined(BSD)) || defined(__hpux) || defined(_CONVEX_SOURCE) || defined(NeXT) || defined(_AUX_SOURCE)
  164. ***************
  165. *** 1364,1370 ****
  166.   # if defined(HASUSTAT)
  167.       if (stat(dir, &statbuf) == 0 && ustat(statbuf.st_dev, &fs) == 0)
  168.   # else
  169. ! #  if defined(IRIX) || defined(apollo)
  170.       if (statfs(dir, &fs, sizeof fs, 0) == 0)
  171.   #  else
  172.   #   if defined(ultrix)
  173. --- 1381,1387 ----
  174.   # if defined(HASUSTAT)
  175.       if (stat(dir, &statbuf) == 0 && ustat(statbuf.st_dev, &fs) == 0)
  176.   # else
  177. ! #  if defined(IRIX) || defined(apollo) || defined(UMAXV)
  178.       if (statfs(dir, &fs, sizeof fs, 0) == 0)
  179.   #  else
  180.   #   if defined(ultrix)
  181. *** src/conf.h.OLD    Fri Oct  8 15:55:34 1993
  182. --- src/conf.h    Fri Oct  8 15:54:59 1993
  183. ***************
  184. *** 31,37 ****
  185.    * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  186.    * SUCH DAMAGE.
  187.    *
  188. !  *    @(#)conf.h    8.36 (Berkeley) 9/22/93
  189.    */
  190.   
  191.   /*
  192. --- 31,37 ----
  193.    * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  194.    * SUCH DAMAGE.
  195.    *
  196. !  *    @(#)conf.h    8.37 (Berkeley) 10/8/93
  197.    */
  198.   
  199.   /*
  200. ***************
  201. *** 39,44 ****
  202. --- 39,45 ----
  203.   */
  204.   
  205.   # include <sys/param.h>
  206. + # include <sys/types.h>
  207.   # include <sys/stat.h>
  208.   # include <sys/file.h>
  209.   # include <sys/wait.h>
  210. ***************
  211. *** 396,402 ****
  212. --- 397,426 ----
  213.   #endif
  214.   
  215.   
  216. + /*
  217. + **  Encore UMAX V
  218. + **
  219. + **    Not extensively tested.
  220. + */
  221.   
  222. + #ifdef UMAXV
  223. + # include <limits.h>
  224. + # define HASUNAME    1    /* use System V uname(2) system call */
  225. + # define HASSTATFS    1    /* has the statfs(2) syscall */
  226. + # define HASSETVBUF    1    /* we have setvbuf(3) in libc */
  227. + # define HASINITGROUPS    1    /* has initgroups(3) call */
  228. + # define SYS5SIGNALS    1    /* SysV signal semantics -- reset on each sig */
  229. + # define SYS5SETPGRP    1    /* use System V setpgrp(2) syscall */
  230. + # define FORK        fork    /* no vfork(2) primitive available */
  231. + # define MAXPATHLEN    PATH_MAX
  232. + extern struct passwd    *getpwent(), *getpwnam(), *getpwuid();
  233. + extern struct group    *getgrent(), *getgrnam(), *getgrgid();
  234. + # undef WIFEXITED
  235. + # undef WEXITSTATUS
  236. + #endif
  237.   /**********************************************************************
  238.   **  End of Per-Operating System defines
  239.   **********************************************************************/
  240. ***************
  241. *** 417,422 ****
  242. --- 441,447 ----
  243.   # ifdef SYSTEM5
  244.   # define HASUNAME    1    /* use System V uname(2) system call */
  245.   # define HASUSTAT    1    /* use System V ustat(2) syscall */
  246. + # define SYS5SETPGRP    1    /* use System V setpgrp(2) syscall */
  247.   # ifndef LA_TYPE
  248.   #  define LA_TYPE    LA_INT
  249.   # endif
  250. *** src/deliver.c.OLD    Fri Oct  8 15:56:00 1993
  251. --- src/deliver.c    Fri Oct  8 15:55:02 1993
  252. ***************
  253. *** 33,39 ****
  254.    */
  255.   
  256.   #ifndef lint
  257. ! static char sccsid[] = "@(#)deliver.c    8.29 (Berkeley) 10/3/93";
  258.   #endif /* not lint */
  259.   
  260.   #include "sendmail.h"
  261. --- 33,39 ----
  262.    */
  263.   
  264.   #ifndef lint
  265. ! static char sccsid[] = "@(#)deliver.c    8.30 (Berkeley) 10/8/93";
  266.   #endif /* not lint */
  267.   
  268.   #include "sendmail.h"
  269. ***************
  270. *** 434,444 ****
  271.   
  272.       e->e_nsent = 0;
  273.       e->e_flags |= EF_GLOBALERRS;
  274. -     /* be sure to use any new error message */
  275. -     if (e->e_message != NULL)
  276. -         free(e->e_message);
  277. -     e->e_message = NULL;
  278.   
  279.       /* now run through the queue */
  280.       for (q = e->e_sendqueue; q != NULL; q = q->q_next)
  281. --- 434,439 ----
  282. *** src/main.c.OLD    Fri Oct  8 15:55:23 1993
  283. --- src/main.c    Fri Oct  8 15:54:59 1993
  284. ***************
  285. *** 39,45 ****
  286.   #endif /* not lint */
  287.   
  288.   #ifndef lint
  289. ! static char sccsid[] = "@(#)main.c    8.28 (Berkeley) 9/25/93";
  290.   #endif /* not lint */
  291.   
  292.   #define    _DEFINE
  293. --- 39,45 ----
  294.   #endif /* not lint */
  295.   
  296.   #ifndef lint
  297. ! static char sccsid[] = "@(#)main.c    8.29 (Berkeley) 10/8/93";
  298.   #endif /* not lint */
  299.   
  300.   #define    _DEFINE
  301. ***************
  302. *** 165,170 ****
  303. --- 165,173 ----
  304.           abort();
  305.       }
  306.       reenter = TRUE;
  307. +     /* do machine-dependent initializations */
  308. +     init_md();
  309.   
  310.       /* in 4.4BSD, the table can be huge; impose a reasonable limit */
  311.       DtableSize = getdtsize();
  312. *** src/queue.c.OLD    Fri Oct  8 15:56:18 1993
  313. --- src/queue.c    Fri Oct  8 15:55:04 1993
  314. ***************
  315. *** 36,44 ****
  316.   
  317.   #ifndef lint
  318.   #ifdef QUEUE
  319. ! static char sccsid[] = "@(#)queue.c    8.19 (Berkeley) 9/26/93 (with queueing)";
  320.   #else
  321. ! static char sccsid[] = "@(#)queue.c    8.19 (Berkeley) 9/26/93 (without queueing)";
  322.   #endif
  323.   #endif /* not lint */
  324.   
  325. --- 36,44 ----
  326.   
  327.   #ifndef lint
  328.   #ifdef QUEUE
  329. ! static char sccsid[] = "@(#)queue.c    8.20 (Berkeley) 10/8/93 (with queueing)";
  330.   #else
  331. ! static char sccsid[] = "@(#)queue.c    8.20 (Berkeley) 10/8/93 (without queueing)";
  332.   #endif
  333.   #endif /* not lint */
  334.   
  335. ***************
  336. *** 1061,1067 ****
  337.               break;
  338.   
  339.             case 'M':        /* message */
  340. !             e->e_message = newstr(&bp[1]);
  341.               break;
  342.   
  343.             case 'S':        /* sender */
  344. --- 1061,1067 ----
  345.               break;
  346.   
  347.             case 'M':        /* message */
  348. !             /* ignore this; we want a new message next time */
  349.               break;
  350.   
  351.             case 'S':        /* sender */
  352. ***************
  353. *** 1401,1408 ****
  354.               {
  355.                   if (errno == EEXIST)
  356.                       continue;
  357. !                 syserr("queuename: Cannot create \"%s\" in \"%s\"",
  358. !                     qf, QueueDir);
  359.                   exit(EX_UNAVAILABLE);
  360.               }
  361.               if (lockfile(i, qf, NULL, LOCK_EX|LOCK_NB))
  362. --- 1401,1408 ----
  363.               {
  364.                   if (errno == EEXIST)
  365.                       continue;
  366. !                 syserr("queuename: Cannot create \"%s\" in \"%s\" (euid=%d)",
  367. !                     qf, QueueDir, geteuid());
  368.                   exit(EX_UNAVAILABLE);
  369.               }
  370.               if (lockfile(i, qf, NULL, LOCK_EX|LOCK_NB))
  371. ***************
  372. *** 1416,1423 ****
  373.           }
  374.           if (c1 >= '~' && c2 >= 'Z')
  375.           {
  376. !             syserr("queuename: Cannot create \"%s\" in \"%s\"",
  377. !                 qf, QueueDir);
  378.               exit(EX_OSERR);
  379.           }
  380.           e->e_id = newstr(&qf[2]);
  381. --- 1416,1423 ----
  382.           }
  383.           if (c1 >= '~' && c2 >= 'Z')
  384.           {
  385. !             syserr("queuename: Cannot create \"%s\" in \"%s\" (euid=%d)",
  386. !                 qf, QueueDir, geteuid());
  387.               exit(EX_OSERR);
  388.           }
  389.           e->e_id = newstr(&qf[2]);
  390. *** src/version.c.OLD    Fri Oct  8 15:55:46 1993
  391. --- src/version.c    Fri Oct  8 15:55:00 1993
  392. ***************
  393. *** 33,39 ****
  394.    */
  395.   
  396.   #ifndef lint
  397. ! static char sccsid[] = "@(#)version.c    8.6 (Berkeley) 10/5/93";
  398.   #endif /* not lint */
  399.   
  400. ! char    Version[] = "8.6";
  401. --- 33,39 ----
  402.    */
  403.   
  404.   #ifndef lint
  405. ! static char sccsid[] = "@(#)version.c    8.6.1.1 (Berkeley) 10/8/93";
  406.   #endif /* not lint */
  407.   
  408. ! char    Version[] = "8.6.1";
  409.